MIDI and the Macintosh ====================== This article originally appeared in three parts in the electronic newsletter TidBITS, in issues #176/10-May-93, #177/17-May-93, and #178/31- May-93. The authors have made small changes, corrections, and clarifications since the original publication. The information appears here with permission of TidBITS and the three contributors; thanks are due to them for an excellent and useful article. TidBITS is a free weekly electronic newsletter that focuses on the Macintosh and electronic communications. For more information and instructions on how to subscribe to our mailing list, please send Internet email to: info@tidbits.com cheers ... Adam C. Engst, TidBITS Editor -- Sep-93 MIDI and the Macintosh ---------------------- by Shekhar Govind -- govind@utxvm.cc.utexas.edu Technical editing by: Craig O'Donnell -- dadadata@world.std.com and Nick Rothwell -- cassiel@cassiel.demon.co.uk This Mac-MIDI musical offering is organized in three movements, an introduction and discussion of MIDI, a look at Macintosh MIDI software, and finally, some information on MIDI hardware. 1. Introduction to MIDI The Antecedents The Effects How MIDI Works MIDI Commands A Salute to General MIDI Further Readings 2. MIDI Software for the Macintosh Applications Software Additional System Software Gooey Crimes 3. MIDI Hardware Interface Macs Controllers Samplers and Synthesizers Coda MIDI and the Macintosh - Part I ------------------------------- Introduction to MIDI Picture yourself as a musician, composing and arranging each part for a musical performance: a string quartet, jazz combo, a rock band, a marching band, a small orchestra; playing each part to get it just right; printing the sheet music;, and saving a flawless performance. Did we mention you could do all this by yourself on your Mac? You are the publisher, the composer, the band, the conductor, and the sound engineer - all rolled into one. As Zonker Harris would say "Imagine!" If you'd rather live the scenario than imagine it, step into the world of MIDI where you can spend as little as $600 or so for software, an interface, and a used synthesizer, or as much as $50,000 for a complete MIDI-based production studio complete with digital hard disk recording which surpasses the sound quality of an audio CD. MIDI stands for Musical Instrument Digital Interface. The MIDI specification enables synthesizers, sequencer hardware, personal computers, drum machines, lights, and hard disk recorders, etc. to interconnect through a standard data protocol via an inexpensive serial hardware interface. Even though the operating system within each device may be different, MIDI gives musicians "plug and play" synthesizer-computer communication as easily as LocalTalk lets Mac owners connect a few Macs and a laser printer. With a MIDI interface (typically attached to the serial port) any MIDI-savvy musical instrument can connect to a Mac. With so- called "sequencing" software running on the Mac, a musical piece played on the instrument is faithfully "recorded" to a disk file for editing and playback. (As explained later, the sequencer does not record the audio sound; it records performance information only, much like a computer punched-paper-tape reader recorded not sentences that were typed, but which keys were pressed in sequential order; or think of a player piano, where the piano roll doesn't contain the sound, it contains information about what keys should sound together and for how long.) The Antecedents It is important to remember that MIDI was created to simplify live performances. During the 1981 fall convention of the Audio Engineering Society, Dave Smith and Chet Wood, two engineers from synthesizer manufacturer Sequential Circuits (creators of the popular Prophet-5 keyboard) proposed an industry standard for an electronic musical instrument interface. The idea was that performers should not have to create custom cables and devices to connect synthesizers. Instead, they should be able to "plug and play" with units from different manufacturers. (This was not the case before, when Moog synthesizers could not talk to ARP 2600s and neither would talk to Buchla Music Boxes.) Dubbed the Universal Synthesizer Interface (USI), this draft proposal was modified by the techies of synthesizer manufacturers Oberheim, Roland, Korg, Yamaha, and others of their ilk. A consensus was orchestrated on the revised proposal and in late 1982 (drum-rolls please) the first set of universal MIDI specifications was adopted. The Effect MIDI turned into an unanticipated success, rocketing sales in the synthesizer category to the top of the musical instrument industry within a few years. New companies like Opcode and Digidesign appeared overnight in what had previously been a sedate and technophobic industry. In the early 1970s the best-selling synthesizer keyboard (the MiniMoog) sold only about 12,000 units, and in the late 1970s the best seller (the Korg Poly6) sold some 100,000 units; the best seller during the dawn of the MIDI age, the Yamaha DX7, combined new sounds and MIDI to sell at least triple the previous record (exact numbers are hard to find). How MIDI Works MIDI translates a predefined set of performance events at one instrument, called the master controller, into digital messages that are sent to other devices over a low-speed serial link operating at 31.25 kbps - about twice the speed of a v.32bis modem. To make it easy to keep musical information going where it should, these events are encoded on any of 16 independent logical channels within the MIDI data stream. A synthesizer receiving this incoming data stream responds by playing music. Imagine playing a series of half-note C major chords on Middle C on a DX7 synth wired to one or more other synths. In this case, the DX7 sends three "note on" messages, three note numbers, and three "note off" messages each time you sound the chord - the receiving MIDI device plays a matching chord in perfect synchronization with the DX7. But (and this is a big but ) depending on its settings, the receiving instrument may use a different instrument sound, or "patch" (a patch being a particular synth voice - grand piano, hot guitar, sax, viola, what have you.) The chord is the same, but the generated sounds within each synth may differ. In other words, MIDI keeps track of the performance events, and not the audio sounds. (An apparent contradiction to this rule comes with MIDI drum kit and percussion sounds - certain MIDI note numbers are usually associated with certain keys on the keyboard since playing a "cowbell chord" or "tom-tom chord" usually makes no musical sense.) A MIDI keyboard can also control a number of sound-producing synths without any computers involved, and without any recording of the MIDI data. As an example, consider a DX7 wired up to a Roland Sound Canvas which is in turn wired to an E-Mu Proteus. (Sound Canvas and Proteus are "sound modules" or electronic musical instruments with a synth's circuitry but without a keyboard.) The musician plays a series of half-note C4 on the DX7 keyboard - patched to sound like a piano. Notes, timing, and other performance information is transmitted to the keyboard-less Sound Canvas and Proteus sound modules (which could be patched as, say an organ and strings respectively). Schematically, it would look like: (master) DX7 -->MIDI cable--> Sound Canvas -->MIDI cable--> Proteus plays C4 plays C4 plays C4 as piano as organ as strings The two sound modules play the same note as the DX7; but the actual sounds generated within each module use a different instrument, or patch. To hear all three instruments, you need an audio mixer to blend the three pairs of stereo outputs into one pair of outputs; this "master output" then goes to a stereo amp and speakers. (Professional MIDI hardware rarely boasts a built-in speaker.) Prior to the MIDI spec, people did their data recording and editing with special hardware. Some of the most sophisticated pre-MIDI systems came from Sequential and Oberheim and consisted of keyboards, drum machines and a hardware recorder (called a "sequencer") connected by proprietary data links and cabling. Around the same time Fairlight and PPG offered integrated systems controlled by a piano keyboard, keypad, and CRT to display waveforms. Here is an example of a simple Mac-based MIDI setup. A MIDI keyboard (we'll stick with the DX7) interfaces to a Mac serial port with a $60 MIDI interface and two MIDI cables: - one from the keyboard's MIDI output to the interface MIDI input - one from the interface MIDI output to the keyboard's MIDI input Schematically, MIDI data travels like this: [DX7 MIDI out]-->>MIDI cable 1-->>[interface MIDI in ] [ ] [interface serial port]<->| [DX7 MIDI in ]<<--MIDI cable 2<<--[interface MIDI out ] | | [Mac serial port]<->---------<->serial cable<->----------<->| The MIDI data links are unidirectional to keep everything simple and inexpensive. The two MIDI data links convert to a bidirectional serial signal inside the MIDI interface. The interface also locks the serial port to its own special 31.25 kHz clock. Consider this. You launch an inexpensive sequencer program like Opcode's EZVision and tell it to record incoming MIDI data. When you play a note on the synth, a message is sent to the Mac identifying the key, how hard you struck it, for what duration you held it down, etc. The software stores this information in a file. Once all performance information has been recorded, you can edit individual musical events on the screen in much the same way you edit text in a word processor. Saved MIDI events are time- stamped to insure that they happen in the proper order on playback; in other words, when a piece of MIDI music begins, the sequencer starts beating out an ever-increasing number of timing pulses and keeps ticking no matter what. Even if the piece includes a minute of silence in the middle. Even if the piece, a la John Cage, is simply 4 minutes and 33 seconds of silence. To reiterate, a MIDI sequencer file is only performance information, not the sounds themselves. The universal acceptance of MIDI has made it possible to use software sequencers instead of the earlier proprietary hardware sequencers. The raw MIDI performance data can be edited, looped, reversed, the tempo can be changed for playback (most sequencer software supports an untold number of tempo changes), and any part or the entire piece can be transposed to any key. In short, the data can be processed separately and in a manner quite different compared to anything in the audio domain. If the software has a notation editor, the MIDI data can also be displayed on screen as music notation, and printed as sheet music. Finally, the file may be output as MIDI commands back to the synth for flawless playback. The "Switched-on Bach 2000" audio CD showcases what a talented performer can do with MIDI. Wendy Carlos's 25th anniversary re-recording of Walter Carlos' hit classic(al) album "Switched-on Bach" was produced on a Mac IIfx. Wendy Carlos owns a stunning array of advanced synth gear, however, so remember that the Mac isn't making the sounds; the synths are. By way of comparison, the original album used multitrack tape and primitive sequencing hardware. MIDI Commands MIDI commands are 8-bit (sandwiched between 1-bit start and stop messages) binary serial messages with 16 encoded channels. A master controller, one cable, and a slave device make up the simplest possible MIDI network. Once a computer is connected to the MIDI network, messages captured by a sequencing program may be saved as a Standard MIDI file, a cross-platform standard. This means that MIDI music is, to a great extent, device- independent. A Standard MIDI file created on a DX7 and a Mac can play back on a different synth connected to a PC clone. While most synths respond to the complete set of MIDI messages, some older and cheaper models don't. The scope of this article does not permit a detailed explanation of the various MIDI messages. A Salute to General MIDI Many late model synths understand "General MIDI," a new subset of MIDI specifications from the MIDI Manufacturers' Association. In a nutshell, General MIDI specifies a 128 pitched instruments (sound patches) and 47 percussion instruments which all General MIDI synths must play. Why the need for General MIDI? Well, to start with, for years and years, each synth manufacturer invented a proprietary "map" of patches, or voices. As an example, a Roland synth and a Korg synth would both have at least one Grand Piano, usually several. The problem:, the Grand Piano "address" in the synth ROM would be different for each - or put another way, the two synths would assign different patch numbers to the Grand Piano sound. To put it in a Macintosh-type perspective, it would be as if every word processor developer arbitrarily chose what Command-Q, Command-S, Command-A, and Command-Z, -X, -C and -V would do. *Something* will happen but you can't predict what. Or think of it as WYPIWYG: what you played is what you get. Furthermore, one synth might have 48 different Grand Piano sounds and another might have four. An expensive synth might have 256 preset patches plus hundreds of user memory locations, and a cheap one, 16 presets and 16 user memory slots. This free-for-all made it impossible to take a fully-orchestrated MIDI file created on a Korg M1, load it into a computer, and play the music as the composer intended it to be heard on an E-Mu Proteus. You'd get music all right, but instead of violins during the intro, you might hear bassoons. Of course, the way chords are voiced within an arrangement is a paramount concern for composers. None wants a lyrical flute passage with sustained strings in the background to be played by fuzz guitar with cymbal-crash "chords". So for the music to sound as originally intended, someone would have to revoice (or "remap the patches") the arrangement for every new output device. So we lied to you a little bit. MIDI files aren't strictly device- independent when it comes to playing the **original** sounds. All they can say is "use patch 35, velocity 102, for this part". They don't specify which sound is associated with the patch number. Think of it in this way: Adobe Type Manager and TrueType both specify which font outline to scale to what size. But what would a printed page look like if the font information only consisted of "use a serif font, 36 point"? To use MIDI in multimedia, and to put MIDI chips on inexpensive sound cards, there has to be agreement on what musical sound corresponds to which patch number. Remember, MIDI is tone-deaf and doesn't know a Hammond Organ from a Tam-Tam. MIDI just broadcasts signals such as: "Yo! Synth on Channel 1! Set Patch 45! Now play these chords!" Unfortunately, with complex orchestrations, the results can be unintentionally hilarious. A piece of well-crafted music ends up sounding more like the Portsmouth Sinfonia, Spike Jones, or Peter Schickele. General MIDI solves this because it specifies instruments and patch numbers which synths can share as a least common denominator. Of course, any manufacturer is free to go beyond General MIDI in a given product, or just ignore it. General MIDI also addresses a question that's a shade more esoteric - "What do I do with the drumkit?" (Musicians who play live would probably phrase this as "What the h*** do I do with the drummer?") In MIDI, multiple drumkits could possibly be contained in a single patch with individual drums and cymbals assigned to different notes on the piano keyboard. For example, a drum patch on your keyboard might map C2 to bass drum, C#2 to a rim shot, D2 to a snare drum, D#2 to a china cymbal etc. (Yes, you can play drums from the keyboard!) Different drumkits could be different patches. You might have: Patch # Drumkit 45 light jazz kit 46 rock kit 47 electronic rock kit 48 orchestral percussion and so it goes. A general-purpose synth needs to listen for drum commands on a given MIDI channel so that the notes come out as hi-hat and snare instead of as flugelhorn. We have already discussed that General MIDI specifies a standard patch number for a particular instrument (including drums). But which of the 16 possible channels could possibly be broadcasting the drum events? Well, prior to General MIDI there was no default channel number for drums that everyone agreed on. Now there is - Channel 10 is reserved for the patch with drum kits. In a certain sense, General MIDI is restrictive in that it makes instruments conform to a limited set of sounds and a minimum polyphonic capability (polyphony is the ability to play multiple notes simultaneously, for example, a string quartet would be four-part polyphonic music. A piano is polyphonic, but the number of voices could be as many as 88 if the sustain pedal is on and every key is struck somehow). This standard is not necessarily the future of MIDI and synthesis; it is merely a robust lowest common denominator for people who want to orchestrate music using a predefined sonic palette. General MIDI music can be saved as MIDI files and will continue to sound similar on different General MIDI savvy synths (for example, for multimedia applications) without requiring patch remapping. The MIDI Specification ------------------------- The MIDI specification can be purchased from International MIDI Association (which is just that - a worldwide MIDI user group): International MIDI Association 5316 West 57th Street Los Angeles, CA 90056 (310) 649-6434. Other technical information about MIDI is available on the Internet via FTP from, among other places, , , , and . Further Readings Don't be lulled into a false sense of complacency. Like any computer communications language, MIDI becomes complex once you move beyond a simple setup with a couple of synths and a Mac. (Just as integrating Macintoshes into a PC network is more challenging than setting up a couple of computers at home with System 7 File Sharing.) For further edification, you may want to delve into MIDI reference books. Steve De Furia has authored (and coauthored) several informative general and Mac-specific MIDI books. Keyboard Magazine has published several useful volumes and "Special Focus Guides" for a detailed look at MIDI and synth basics. Craig Anderton's readable "MIDI for Musicians" is a classic. Most libraries (and fine bookstores) offer at least a dozen other publications about using MIDI and creating MIDI software. Like most things technical, MIDI is a moving target and new books appear each year. Leading MIDI- related magazines continue to be the well-known Keyboard and Electronic Musician. MIDI and the Macintosh - Part II -------------------------------- MIDI Software for the Mac: Application Software For simple purposes, MIDI application software can be categorized into one of two main types - a recorder/player (sequencer) with non-real-time MIDI editing tools, or a music-notation editor to create printed scores, or "notation," from a MIDI file or a performance. (Other classes of MIDI software esoterica will be dealt with later.) Until a few years ago, the Amiga and the Atari ST boasted some of the best MIDI software. However, highly acclaimed MIDI sequencers and notation editors are now available for the Mac, and many people believe it will continue to be the professional's computer of choice. As more MIDI software is ported to (or created for) Windows, the balance may change. But MIDI editing remains fundamentally a graphic process, a task at which Macs continue to edge out PCs. Sequencing packages are geared to "conventional" music making. They have multiple recording tracks, let you display and edit notes, and so on. They often present a tape-recorder screen metaphor, with music being recorded and played from beginning to end, linearly. Notation editors provide seamless translation of standard music notation into MIDI files (and vice versa). A good analogy for a notation editor and a synth keyboard would be a word processor and a QWERTY keyboard. Mac sequencers and notation editors A partial list follows. Apart from a few exceptions (such as Metro, arguably "the biggest bang for the buck"), the list price is a fair reflection of the software's capabilities. The high- and mid-range packages are for the professional musician, while the low-end programs are aimed at the semi-pro or casual musician or composer. Each package claims its forte to be either sequencing [S] or notation [N], though sometimes both parts are present in some mix which we notate as: [SN] [sN] or [Sn]. Composer's Mosaic $595 (Mark of the Unicorn) [N] ConcertWare Pro $189 (Great Wave Software) [sN] Cubase $495 (Steinberg/Jones) [S] D. M. C. S. $130 (Electronic Arts) [N] Encore $595 (Passport Designs) [N] EZ Vision $149 (Opcode Systems) [S] Finale $749 (Coda Music Software) [SN] Lime $160 (CERL) [N] Master Tracks Pro $495 (Passport Designs) [S] Metro* $229 (OSC) [S] MIDIplay $ 60 (Opcode Systems) [MIDI in HyperCard] MiniTrax Public Domain (Altech Systems) [s] Music Writer 1/2/3 $119/295/595 (Pygraphics) [N] MusicProse $249 (Coda Music Software) [SN] Performer $495 (Mark of the Unicorn) [S] Trax $ 99 (Passport Designs) [S] Upbeat $129 (Dr. T's Music Software) [percussion] Vision $495 (Opcode Systems) [S] * Metro is a reincarnation of Beyond (previously Dr. T's) with integration to DECK 2.0 (digital audio recording software, also from OSC which requires a Digidesign Audiomedia card.) Demo versions for most are usually available from the publisher or on the Internet. A current list and review of these and other commercial MIDI software for the Mac is archived at . Those with FTP access should also get a copy of: mac.ftp/sound/midi/inexpensivemidiresources.txt from . This file lists Macintosh demo, shareware, and public-domain programs and how to get them. Mail order firms sell most software well below the list price. Besides the usual connections, places, zones, and warehouses, check out MacBeat (800/MAC-BEAT). They employ knowledgeable salespeople and always have good bargains on MIDI software, synths, and even Macs. Sweetwater Sound (219/432-8176) also has an excellent reputation among professionals (you can reach them via email through owner Chuck Surack at <71333.533@compuserve.com>). Beyond Tradition Another flavor of MIDI software is the improvisation and "teach- yourself- music" category. The latter includes packages like the Miracle Piano Teaching System from Software Toolworks. This bundle lists at $500 and comes with software, a built-in "MIDI interface", cables, and a 49-key MIDI keyboard. Software for improvisation and algorithmic accompaniment can create backup parts or entire musical compositions by different instruments in a wide range of rhythmic styles - all in real time. This category includes: Band in a Box $ 88 (PG Music) [algorithmic accompaniment] Cypher* $ 39 (Robert Rowe) [algorithmic composition] Harmony Grid $ 99 (VPL Research) [nontraditional learning/composition] Jam Factory $119 (Dr. T's Music Software) [algorithmic accompaniment] Listen $ 99 (Imaja) [ear training, theory] M $119 (Dr. T's Music Software) [algorithmic composition] MiBAC Jazz $125 (MiBAC Music Software) [algorithmic accompaniment] Music Mouse $ 49 (Dr. T's Music Software) [graphic / algorithmic controller] Practica Musica $125 (ARS Nova) [ear training and theory] Hardware Helpers Patch editor/librarians create archives to store synth-specific voice parameters (patches, remember?) and let you edit or create synth voices graphically, on the Mac's screen instead of "peer through an LCD mail slot mode" present on the front panel of synthesis equipment. Editors and librarians differ in function and are sometimes simply combined into one application: they let you create, edit and save sounds off-line which can be used in compositions later. The $249 Galaxy (Opcode Systems) is a good commercial patch-librarian. Software tools that test hardware and connections, and send and receive system-exclusive ("sysex") messages to and from the synth are essential for the serious MIDI-tinkerer. (Sysex messages don't play music; they change the settings on a specific receiving MIDI device.) In addition, these tools can provide software-based access to program the sound functions of the synth. A few such freeware utilities include: MIDI Mode and MIDI Program Select (DAs by Austin Development), Bulk Sysex Utility and Interface Test (from Altech Systems), and MIDIScope (thank the folks at Kurzweil for this one). Roll Your Own Stacks For HyperCard enthusiasts, the old shareware HyperMIDI has expanded into HyperMIDI 2.0 and gone commercial ($125). Author Nigel Redmond has put together a robust MIDI toolkit for building MIDI into stacks. Read the FAQ file referred to earlier for a list of more non-commercial Mac MIDI tools. Roll Your Own Movies We should probably note that Apple has been promising to put a MIDI object or track type into QuickTime, and has demonstrated a scheme whereby QuickTime is smart enough to use a MIDI hardware device if one is connected, otherwise play a few of the MIDI voices using the Mac's internal sound-output chip. Roll Your Own Serious Art MAX (from Opcode), an object-oriented MIDI programming toolkit, is a powerful environment for MIDI-hacking. If you get bored with predefined tools and traditional ways of working, or come across problems or ideas which you cannot address with conventional applications, you should consider MAX. Designed by Miller Puckette at the Paris electronic music think-tank called IRCAM and supported and sold by Opcode Systems, MAX is a toolbox for creating MIDI systems - user interfaces, real-time processors, virtual instruments, algorithmic composition components, performance surfaces, and anything else you can think of. It is a Macintosh application with a superb graphical interface. Control primitives can be laid out, connected, and edited in a MacDraw- like environment, and then used to process MIDI data in any way imaginable. The screen interface can be designed to any scheme you wish - mice, menus, buttons, keys, external input devices. It can be considered an instrument, just like synths; or even better, an instrument for building new instruments. Musicians use it on-stage as a performance system for their entire rig. MAX is one of the most significant MIDI products ever, and much credit must go to Opcode for having the vision to bring it to market. Roll Your Own App MIDI applications can be written and compiled in almost any high-level programming environment. Books on MIDI programming and disks containing MIDI subroutine libraries and source codes (in C, MIDIBasic, MIDIPascal) are readily available. Some of the MIDI public-domain programs mentioned earlier are exhibits for these language packages. Additional System Software Because of differences in serial port hardware, the venerable Mac IIfx and the newer Quadras and IIvx require the Apple "IIfx [or Quadra] Serial Switch" Control Panel. However, things get a little murky in the realm of System 7.1 and MIDI. Digidesign recommends Enabler 001 for various Mac models including the IIvx and Performa 600. Apple says NOT to use Enabler 001 on a Performa. It's not clear what Enabler 001 does that the Hardware Update 1.0 doesn't do. Oh well. But it won't hurt your machine to stick Enabler 001 on there. Software with music notation capabilities comes bundled with fonts (most often Sonata, an Adobe PostScript font). Most of the software packages include MIDI Manager, an essential MIDI system extension courtesy of (and that's putting it politely) Apple. The MIDI Manager extends the Mac operating system to correctly support the timing accuracy required by MIDI hardware and software under MultiFinder. It is also useful for doing Inter- Application Communication and for allowing multiple applications to address the serial port. While some programs do not require the MIDI Manager per se, using it provides more flexibility (not to mention more system conflicts). MIDI Manager is available to developers from APDA or as licensed software in MIDI application packages. First, the good news about MIDI Manager - it can operate in the background; it allows the user to configure either the modem or the printer port for MIDI traffic; and it can take the output from one MIDI program and input it to another MIDI program. When loaded on a PowerBook, it automatically disables rest-mode (a state in which PowerBooks' CPU slows to a crawl to save power). Oh yes, it is System 7 friendly; but then these days, what isn't? And now for the major discordant note. The Chooser is MIDI Manager hostile - if you open the Chooser while MIDI Manager is loaded, the modem port locks up. Nor can the MIDI Manager flawlessly direct incoming serial data on many PowerBooks. Although MIDI Manager does not cause the problem, some feel an update could certainly solve it (more on the PowerBook-MIDI saga later). Using MIDI Manager with MultiFinder (or System 7.x) on a Mac with a slow processor (such as a Classic or SE) can make the Mac choke, especially if the musical score contains multiple voices. Although the "sound" isn't affected, it might affect the timing and screen refresh. (These are generic problems associated with the slower Macs - MIDI Manager just consumes another piece of the scarce CPU pie.) Finally, configuring the MIDI Manager requires a companion application, PatchBay - an interface design paradigm Apple would probably like to forget. MIDI Manager & OMS - Some History Originally invented to help MIDI software cope with System 6 MultiFinder, and provide concurrent serial port access to multiple software, MIDI Manager is showing its age and may not be around for long. Let's look briefly at where it came from and why it appeared. Part of the Mac's appeal is its high level interface to programmers (for things like QuickDraw), and this results in nice, consistent applications that work together (cut and paste, anyone?). Equally important, it means that applications will usually continue to work with new hardware. For example, you could use a six-year-old resource editor of Mac Plus vintage on a big- screen Mac or a PowerBook; you could also be reasonably confident that it would work on a graphics-accelerated Radius Rocket- equipped Quadra, a completely different beast from the Mac Plus! If you were given a Mac program which drew directly onto the screen (ignoring the window system), and which crashed on color machines, you'd consider it junk and throw it away, right? (Let's leave aside games for now.) Sadly, much original MIDI software did similar horrid things to the Mac like seizing serial ports regardless of other applications. This was not due to programming carelessness, but because there were no toolbox calls or programming conventions for MIDI, which is timing-dependent (unlike your generic pre-QuickTime Macintosh process). Then in early 1989, Apple released MIDI Manager. Like other Macintosh Managers, this Toolbox component offered high-level application services. In this case, it meant applications could use abstract MIDI communication and timing port drivers (much like printer drivers are abstract), regardless of hardware. Several MIDI Manager applications could run at once, and could even send MIDI data to one another. And since calls would be independent of the hardware we could use new, high-speed MIDI interfaces, or SCSI, or synths on NuBus sound cards, or whatever. And all was rosy. Well, actually, no. Due to a long-running legal wrangle with the Beatles' Apple Corps, Apple Computer was prevented from publicizing MIDI Manager properly and never rolled it into the much-awaited System 7. Apple dealt with the legal problems, but by that time the MIDI Manager guys had left Apple, and MIDI Manager languished. It still works and is in constant use. But it hasn't changed in years. As of August 1993, Apple has finally released its Sound Manager 3.0 for handling audio events in general. (Early versions demonstrated by Apple at the 1992 and 1993 Developers' Conference took care of both sound and MIDI.) In 1991, Opcode developed their own system (OMS, the Opcode MIDI System) which provides system services similar to the MIDI Manager. Although the results from using OMS and MIDI Manager differ only slightly, there are good reasons for running both systems at once to access their respective features. OMS allows an application to address a large number of discrete MIDI cables through one serial port, and also allows publish and subscribe (which might be considered non-real-time IAC, or Inter-Application Communication) between applications, like a sequencer and a patch editor. Professionals often need extremely powerful MIDI interface boxes with more than 16 MIDI channels (64 is common and 128 is possible and surely we'll be up to 1,024 channels someday soon!) and must synchronize their Mac to SMPTE time code (a protocol defined by the Society of Motion Picture & Television Engineers for synchronizing various devices) on video or audio tape. Apple offers no solution and that's where OMS fills the bill. OMS is an exemplary piece of software; it works solidly on PowerBooks, and is considered a must for professional MIDI users. Mark of the Unicorn has announced a rival to OMS, the FreeMIDI System - think of it as OMS with a Free Software Foundation source license. Although a few beta testers have proclaimed it to be OK, it will have to prove itself to be at least as capable as OMS to achieve a loyal user base. Opcode fired the next few salvos in this MIDI battle. Since January 1993, Opcode has licensed OMS developer packs free to interested parties. In April, they announced an upgrade to version 2.0 of OMS (currently, OMS 1.2.1 is shipping). The acronym OMS has changed from "Opcode MIDI System" to "Open Music System" to reflect the fact that future versions of OMS will incorporate source code from other developers (a move designed to bolster its acceptance as an industry standard). Reportedly, Apple has given OMS the silent, secret seal of Apple Approval. Among other enhancements, OMS 2.0 will add IAC (real-time Inter-Application Communication) and will include serial port independence that will allow the use of multi port serial cards like Applied Engineering's QuadraLink four-port NuBus card. The OMS bandwagon already includes Passport, Steinberg, Emagic, PG Music, Roland, Digidesign, and others. The problem, of course, is that there is still MIDI software around that uses none of this stuff. MIDI Manager documentation is available from APDA, and it's easy to program MIDI Manager applications, so there is no excuse for applications not to use it. One might even venture that FreeMIDI was a TrueType-ish move to force developers to agree on a common system. With any luck, it will happen soon and the results will work well. In the meantime, if you have MIDI software that does not use OMS or MIDI Manager, you might wish to consign it to the trash. Of course, if you're just messing with MIDI, you may feel differently. Gooey Crimes And now for something completely different - a short rant about user interface, copy protection and reliability of MIDI applications On some, the user interface is convoluted enough to make even the most unrepentant Microsoft programmer blush. One popular high-end sequencer insists on making the "close window" square at the top left of a Mac window appear as a triangle - truly the mark of a unicorn who doesn't believe in making simple ROM calls (or in using proper WDEFs, CDEFs, etc.). On one expensive notation editor, selecting a note does not darken the note - instead, it is grayed. These are the least of the collective sins committed against the standard Mac interface. Although these problems may seem cosmetic, in many cases functionality (not to mention immunity from conflicts and longevity across hardware and system upgrades) can be directly related to interface decisions. Some of the more touted "professional" MIDI packages are the last bastions of copy-protection on the Mac. Without getting mired in a discussion about the pros and cons of copy protection, suffice it to state that even Apple's guidelines to developers considers copy protection schemes to be user- hostile. Further, software based copy protection schemes currently in use often fail to install the application on complex multi-partitioned hard disk setups. One can only hope that better judgement will eventually prevail upon software publishers, and future MIDI applications will be rid of all unsavory copy protection schemes. Reliability is crucial in any MIDI system and users have every right to expect dependability from applications that cost hundreds of dollars. If a word processor crashes while you are in the middle of composing a letter you might be moved to utter a few choice expletives; but few of us have the rich vocabulary required when a MIDI program crashes in the middle of a live performance. Unfortunately, there is unreliable software in the market. Generally it is the poor(er) user who discovers the expensive way about mutation problems in fourth-generation performers. As for Apple, we can only hope that by the time they let loose the next Manager, they will have read their own bleeping interface guidelines about how the interface for a Control Panel with INIT code should work. MIDI and the Macintosh - Part III --------------------------------- MIDI Hardware: The Interface A MIDI interface provides a link between a Mac serial port and MIDI device(s). For example, Altech Systems offers an inexpensive, light-duty, self-powered interface which has three MIDI-outs, one MIDI-in, one serial in, one serial out. There is a bypass switch to activate the serial-in to serial-out connection (useful if you use an external modem and don't wish to spend your free time switching cables between MIDI interface and modem), and three LEDs to register serial and MIDI traffic. It draws power from the serial port - an improvement over older models which had bulky power supplies. (Note: It is possible that some interfaces that depend on the serial port for their power may not work with a PowerBook). Then there are the AC powered mid-line interfaces like Opcode's Studio+ 2 (listen carefully: three MIDI Outs and one MIDI In for both the modem port and the printer port. Front-panel MIDI/Serial elect switches for each port. A gang switch to make the modem port connection into a one In, six-Out MIDI interface.) At the upper-end, you can buy Mac-MIDI interfaces with up to 16 MIDI ins and outs, SMPTE lock, internal MIDI processing and routing, and much more (MIDI Time Piece from MOTU, Studio-4 and -5 from Opcode, etc.) These industrial-strength interfaces use special protocols and do not work directly with ordinary MIDI applications - unless you use OMS or something equivalent. Interfaces are available from other manufacturers such as MacNexus and MIDIMAN. Apple too, sells an interface with one MIDI-in and one MIDI-out. However, if you plan to expand your MIDI system in the future, get an interface with more than one MIDI-out port to avoid having to invest in a MIDI "splitter box" somewhere down the long and winding MIDI road. Make sure the package you buy includes at least two MIDI cables (5 pin DIN male/male - they're standardized) and a serial cable. Prices for these run around $90 list, $60 street. Macs for MIDI Some PowerBooks (140, 145, 160, 165c, 170, and 180) with their disposition for imposing serial-port blackouts can be frustrating MIDI platforms, and even Apple doesn't recommend them for MIDI. But a combination of using the PowerBooks in Don't Rest mode and keeping AppleTalk on may help keep MIDI- data loss to a minimum. However, on single-serial-port PowerBook 100, AppleTalk interferes with the printer port and must be off for MIDI use. As mentioned earlier, MIDI Manager automatically disables the PowerBook's Rest mode. Reportedly, the Duos 210 and 230 have no problems with MIDI. Tests have established that the PowerBook 100 is fine at MIDI speeds - just. However, the PowerBook 100 may fail with special high speed interfaces. The PowerBooks 140, 145, 160, 165c, 170, 180, and 185c can do easy MIDI chores such as simple record and play-back, but falter when receiving large amounts of MIDI data. In one series of tests conducted on a PowerBook 140, a great quantity of input MIDI data was lost, not just long sysex dumps as Apple maintains (a sysex dump is a continuous, high-speed data dump from a MIDI device to the Mac.) MIDI data can be lost on the PowerBooks because they suffer from periodic serial port blackouts as long as six milliseconds (blame this on the Power Manager). Theoretically, as many as 20 bytes of MIDI data can be transmitted from a device to the Mac in a six millisecond span. During a blackout, only three bytes can be stored by the serial port's buffer. In the worst case, it is possible that as much as 90% of the data transmitted during a serial blackout could be lost. A Tech Note suggestion (TN 318 - PollProc) by Apple was augmented and implemented by Opcode in a new version of OMS, 1.2. Under 1.2, the problem of lost MIDI data on the offending PowerBooks 140, 145, 160, 165c, 170, 180 is solved, but incoming data loses its timestamping. However, not all commercial programs are OMS compliant, and the TN 318 fix works only for interfaces attached to the modem port. The printer port continues to be unreliable. Regrettably, MIDI Manager predates PowerBooks and is blissfully unaware of PollProc calls. Further, some who have tried the solution in TN 318 suggest it is incomplete and does not quite work as advertised. Were it not for OMS, the PowerBooks 140, 145, 160, 165c, 170, 180, and 185c would be useless for professional MIDI. The PowerBooks with their slim form and light weight are otherwise ideally suited for real-time MIDI performances. It is puzzling that Apple allowed this technically minor, but functionally disastrous problems to fester. Among the portables, the buying recommendation for a MIDI platform is a Duo. If you can find one, a PowerBook 100 can be a bargain platform for simple MIDI work. Master Controllers Most people associate MIDI controllers with keyboards, but they can be anything you pluck, strike, blow or change in some way. For sanity's sake we'll limit discussion to keyboards and sound modules (keyboard-less synths). Samplers and Synthesizers Thus far, we have used the terms "synth" and "synthesizer" for illustrating various MIDI functions. But samplers have equal status with synthesizers - you can get keyboard forms of both. Samplers contain (in ROM or RAM) a literal hi-fi recording of a real instrument or human voice. The E-Mu Proteus is the most famous sample- playback module, while the Fairlight CMI and the E-Mu Emulator are probably the best-known sampling keyboard systems. Samplers can also be rack-mounted studio effects devices, and there are probably 40 or 50 samplers at all prices between obsolete models on the used market and new models. A few do not use MIDI. A synth builds sounds from simple waveforms blended together, from a combination of samples and waves, or by intermodulating a handful of waveforms, or "operators" (7-operator FM synthesis is the "DX7 sound," and also used to death in a poor-sounding 2-operator chip on most PC "Sound Whacker" add-in cards). Do not pinch pennies when buying a keyboard. There is a marked difference between inferior and better ones. But you don't need a fancy keyboard if you are not a trained musician - just one you find comfortable. After all, sequencers offer "step mode," which allows them to be slowed way, way down so even a talent-less hack can play amazing MIDI shred arpeggios. If you're new to all this, a used Kawai K1 is a good inexpensive keyboard to look for. (On the other hand a $1,500 synth is in some sense, as good as it gets, since this tends to be the street price point that manufacturers try to hit with new products) If you're planning only to edit and play back and you are not a trained musician, any keyboard is functional (yes, even an old, used Casio CZ101 will do just fine, thank you.) You'll want a sound module with "good" sounds (preferably General MIDI compatible). The Roland Sound Canvas is a good General MIDI module for beginners. Yamaha, Roland, and Korg all compete in the value- priced sound module market. Here are features you can use to evaluate keyboards and define your musical priorities: * Number of octaves: A five octave range (61 keys) is sufficient for most casual users. A 76-note keyboard would be considered a minimum for controlling several modules during a live performance. For playing Debussy, you'll probably want 88. Some keyboards have the ability to shift (or transpose) the range of the entire keyboard which adds two (or more) octaves. * Key size/feel: Does it matter if the keys are slightly smaller than usual? Do they have the feel of a piano key? If you are used to playing the piano, these considerations make a difference. Most of the better synths have full-size keys. Some offer weighted action. * Polyphony: a must for MIDI-dabblers. Polyphonic synths can play more than one note simultaneously. Thus, when a chord is played on a polyphonic keyboard, all notes of the chord sound. If the synth is monophonic (like the old MiniMoog) and a chord is played on it, only one note of the chord will sound. However, a 32-voice polyphonic synth does not necessarily imply that 32 notes can be played simultaneously since each note itself could be made up of more than one voice. (Technically, we mean waveform instead of voice.) Since almost all modern synths are polyphonic, this may not be a big factor. * Multitimbral: A multitimbral synth can play more than one musical instrument sound (patch) simultaneously - i.e., they can respond to MIDI commands on different MIDI channels by playing different sounds simultaneously. A synth could be polyphonic and able to play many notes simultaneously. However, if it is not multitimbral, commands on all MIDI channels will play only one instrument. For example, a multitimbral synth can concurrently play a string bass for the MIDI commands on channel 1, a piano for Channel 2, and a sax for channel 3. These synths are also capable of having certain regions of a keyboard assigned to certain patches - for example, the string bass on the bottom, the piano in the middle, and the sax on top. This is another must feature if you want lots of instruments at once, and don't want an apartment full of synths. * Velocity Sensitive: How loud a particular note is supposed to sound is embedded in MIDI messages as velocity. Velocity numbers range from 0 (0 is no sound; 1 is the quietest) to 127 (loudest). Most synths have velocity sensitive keys - when a key is struck, not only is the note and duration transmitted, but also how hard the key was hit (actually, how quickly the key moved). * After-touch: A type of touch sensitivity where the synth senses how hard the key is pressed down after it has reached (and is resting on) the keybed. After-touch is useful for assigning special effects and is commonly used for "expression" - to swell a sound, like a conventional instrument. * Sound quality: Most people consider this the most important factor (and rightly so). After all, you have to listen to the sound produced by your synth. If the sound quality is inferior, even playing Bach will not help the music sound pleasant. Some synth models have digitally sampled sounds of various instrument stored in ROMs. Not surprisingly, these samplers sound pleasing when used for conventional orchestral, rock, or jazz music. * General MIDI: essential if you plan to purchase and play libraries of commercially-produced MIDI music files. * Miscellaneous: How many (and which) instruments can the synth emulate? Does it have a ROM slot that would allow expanding the internal instrument list by adding ROM cards? How easily are these cards available? Does the synth have waveform editing features? Can it do special effects? (You'll be surprised what just a simple reverb or delay can do for synth-sounds). Does it have adequate RAM (or a RAM slot) to save waveforms of customized instruments you create? Besides the standard MIDI-in and MIDI-out, a MIDI- thru port might provide more flexibility in configuring various devices on a complex MIDI network. Casio, E-Mu, Ensoniq, Peavey, Kawai, Korg, Kurzweil, Roland, and Yamaha are a few of the dozen-odd companies currently marketing electronic musical instruments (Casio has exited the musical/professional synth market and only sells inexpensive home units, but used Casio keyboards can be a good place to start). Before starting your hunt, get a copy of the FAQ maintained by Craig Latta for rec.music.makers.synth on Usenet (FTP-able from ). It has useful pointers on buying your first synth. A used synth price list (available by FTP from ) posted every few weeks on the discussion group can help you shop around. This group is a good place to pick up used equipment, and solicit hardware and software recommendations. On America Online you can try the Mac Music and Sound Forum (Keyword MMS), and on CompuServe there is a particularly active MIDI Forum (GO MIDIFORUM). Keyboard and Electronic Musician are two magazines which are good resources. Coda MIDI is often given superlative billings about how it can enhance your musical abilities and transform you overnight into a great musician. MIDI does give you precise control over the way your music sounds, but the greatness depends on you. Why, MIDI wasn't around until 10 years ago, and we did have a wee bit of good music before then. You might not have enough money to buy all elements of a dream Mac-MIDI system (or for that matter, even a dream Mac system!). However, you can put together a simple MIDI studio- a Mac and a synth - easily and inexpensively. Aim for system that can grow easily by adding new MIDI devices.. There are great used keyboards out there and few have been abused, it seems. With the advent of 16-bit DSP chips in Apple's AV Macs, one area bound to see a proliferation of new products is integrated digital hard disk recording and MIDI. At the moment such systems require add-in cards. Opcode's Studio Vision with Audiomedia (list $1,995) is one such Audio/MIDI package as is Digidesign's Pro Tools (list $5,995). Both are MIDI/Direct-to-Disk recording environments, or "tapeless studios." OSC has released Beyond with Deck 2.0 very soon; this combines a MIDI sequencer with a 4-track digital recorder which uses Digidesign's Audiomedia board. Expect to see digital audio/MIDI cards incorporating E-Mu, Ensoniq and Kurzweil General MIDI-compatible chipsets in the future (Media Vision already offers a $400 stereo 16-bit card called the PAS16 Mac; the card includes a 4-operator MIDI synthesizer). In fact, a number of sequencers mentioned earlier already offer SMPTE timecode synchronization of MIDI tracks onto video and digital audio master tapes. MIDI has opened doors to exotic possibilities, and new MIDI instruments, software, and all kinds of MIDI accessories (like MIDI lighting controllers for stage lights, gloves with embedded MIDI controllers, etc.) are continually being introduced. There is MIDI software that introduces variations into the data you feed it; MIDI controller wands you wave, innumerable MIDI drumpads and variations thereon; MIDI marimbas; MIDI guitars; basses, violins, and wind-instrument controllers; MIDI floorpads you step on; MIDI sensors that pick up light, sound, or movement; you can do it all. For those of you into creative self-flagellation, at least one guy designed a MIDI drumset into a jumpsuit. You could even create a MIDI composition by transforming the last ten years' Dow Jones daily closing average as the lead voice and that day's high temperature in Manhattan as the backup. Just don't play it back for us.